1.14 Einige Hilfen für den Benutzer
 
1.14.1 Setze den Cursor in ein Textfeld
 
Hat der Benutzer nichts eingegeben, dann soll der Cursor in das Feld zurückspringen, um dem Benutzer anzuzeigen, wo er nichts eingegeben hat, das heißt, wo er vergessen hat, etwas einzugeben. Der Befehl dafür lautet:
txtName.Select()
Nun sitzt der Cursor in dem Feld und der Benutzer kann bequem seinen Namen eintippen.
1.14.2 Ok und Abbrechen
 
Hat der Benutzer nun seinen Namen eingegeben, dann soll er mit der (Enter)-Taste die Ok-Schaltfläche aktivieren können, mit (Esc) die Abbrechen-Schaltfläche. Dies wird in den Eigenschaften der Form geregelt. Dazu müssen Sie den Dialog markieren oder in den Eigenschaften aus der Liste der Steuerelemente das Objekt »frmKaffee« herausholen. In der Kategorie »Sonstiges« befindet sich die Eigenschaft »AcceptButton« und in der Liste sind alle Buttons aufgelistet. Dort wähle ich »butOk« aus. Darunter wird in der Eigenschaft »CancelButton« der Button »butAbbrechen« eingeschaltet. Nun kann der Benutzer mit (Enter) »Ok« aktivieren und mit (Esc) »Abbrechen«.
Abbildung 1.23
Zwei gute Hilfen
1.14.3 Die Reihenfolge der Steuerelemente
 
Eine Kleinigkeit gefällt mir noch nicht. Beim Starten des Formulars möchte ich gerne, dass der Cursor im Namensfeld sitzt. Dazu muss die Reihenfolge geändert werden. Es wird daher das Steuerelement markiert und die Eigenschaft »TabIndex« auf »0« gesetzt. »0« ist der erste Wert. Viele der Zählungen beginnen bei 0!
Der TabIndex ist wichtig, weil es viele Benutzer gibt, die gerne mit der (ÿ)-Taste von einem Feld zum nächsten hüpfen. Er soll eben vom Feld »Vorname« auf den »Zunamen«, dann auf die »Straße« springen und so weiter. Deshalb achte ich beim Programmieren sehr auf die Tab-Reihenfolge.
Manche Programme »überspringen« beim Drücken der Tabulator-Taste die beiden Buttons »Ok« und »Abbrechen«. Soll das der Fall sein, dann wird die Eigenschaft »TabStop« auf »True« gesetzt. Stellen Sie sich eine Maske mit einer Reihe von Buttons vor, es ist ziemlich nervig, auf jeden Button springen zu müssen, deshalb könnte man es so ausschalten.
Wenn wir nun genau hinsehen, dann stellen wir fest, dass auch das Label einen TabIndex hat. Zwar besitzt es keinen TabStop, wieso aber einen Index? Und wieso steht es auch in einer bestimmten Reihenfolge? Auch hierfür gibt es eine Erklärung: Drückt der Benutzer (ÿ), (ÿ), (ÿ), dann wird nicht dieses Element angesprungen, sondern das nächste in der Liste. Der Grund dafür ist, dass man einen Buchstaben des Textes unterstreichen kann, zum Beispiel das erste »N« von »Name«. Drückt nun der Benutzer die Tastenkombination (Alt) + (N), so wird nicht das Label angesprungen (das geht ja auch nicht), sondern das Steuerelement, welches die gleiche Nummer besitzt, und deshalb ist die Reihenfolge wichtig. Das heißt: Ich setze den TabIndex des Labels »lblName« auf 0; der TabIndex des Textfelds bleibt auf »0«. Und nun stellt sich die Frage, wie der Unterstrich unter das »N« kommt. In den Eigenschaften wird der Text »Name« geändert in »&Name«. Das &-Zeichen (Et-Zeichen, Apersand oder kaufmännisches Und) bewirkt, dass der nächste Buchstabe einen Unterstrich besitzt. Es ist natürlich ein wenig umständlich, dies einzurichten - aber es gibt viele Anwender, die lieber mit der Tastatur arbeiten als mit der Maus. Man könnte dies auch bei den beiden Buttons machen. Ich orientiere mich dabei immer ein bisschen an den Microsoft-Produkten - die machen es nicht. »OK« wird dort immer mit (Enter) aktiviert, »Abbrechen« immer mit (Esc). Ich glaube, das genügt wirklich. Bei anderen Buttons kann man es allerdings einschalten.
Finden Sie das Spiel mit dem TabIndex auch ein wenig mühevoll? Ich auch. Es gibt einen schnelleren Weg. Über das Menü Ansicht . Tabulator-Reihenfolge gibt es die Möglichkeit, die Reihenfolge per Mausklick festzulegen. Ich glaube, das hat Microsoft bei Adobe abgeschaut: Im Acrobat geht es seit vielen Versionen ebenso. Also: Der Menüpunkt Ansicht . Tabulator-Reihenfolge wird aktiviert. Im Übrigen muss das Formular dazu markiert sein, sonst erscheint der Menüpunkt nicht. Dann erscheinen neben den Steuerelementen Zahlen. Nun klicken Sie in der Reihenfolge auf die Zahlen der Elemente, wie sie vom Benutzer angesprungen werden sollen. Haben Sie alle durch, dann werden alle Zahlenfelder blau und Sie sind fertig. Haben Sie einen Fehler gemacht, müssen Sie von vorne anfangen. Möchten Sie unterbrechen, so können Sie das mit der Taste (Esc) oder mit dem Menü Ansicht . Tabulator-Reihenfolge.
Abbildung 1.24
Die Tabulator-Reihenfolge
|